Intelligent object builder

ABSTRACT

Disclosed is a system and method for linking computer aided design (CAD) elements with non-graphical information within a database. In one embodiment of the method the database receives and stores first CAD element data generated by a first computer system in data communication with the database. This first CAD element data represents a first CAD element displayable on a monitor of a computer system such as a CAD computer system. Thereafter, a link is created in the database between the stored first CAD element data and one of a plurality of component specifications stored in the database. Each of the plurality of component specifications comprises non-graphical descriptive data that may describe a component of a construction project. In one embodiment, the first computer system is coupled to the database via the Internet. In another embodiment, each of the component specifications include at least one database object.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application relates to application Ser. No. 09/557,641 (attorney docket TRIRG-08330US0) filed on Apr. 25, 2000, entitled “Agent Based Purchasing System” and naming Thomas A. Wucherer as inventor, the application being incorporated herein by reference in its entirety.

[0002] This application relates to application Ser. No. 09/519,935 (attorney docket TRIRG-08331US0) filed on Mar. 7, 2000, entitled “Integrated Business System for the Design, Execution and Management of Projects” and naming Cherisse M. Nicastro, Thomas A. Wucherer, Todd Nisbet and Anthony A. Marnell II as inventors, the application being incorporated herein by reference in its entirety.

[0003] The present application is related to U.S. patent application Ser. No.______, (attorney docket TRIRG-0100US0) filed on Oct. 30, 2001, entitled “Business Asset Management System”, and naming Cherisse M. Nicastro, Thomas A. Wucherer, Todd Nisbet, Anthony A. Marnell II, Anthony A. Marnell III, Herman Spencer, Jr., which patent application is incorporated by reference herein in its entirety.

[0004] The present application is related to U.S. patent application Ser. No.______, (attorney docket TRIRG-01001US0) filed on Oct. 30, 2001, entitled “Item Specification Object Management System”, and naming Cherisse M. Nicastro, Thomas A. Wucherer, Todd Nisbet, Anthony A. Marnell II, and Anthony A. Marnell III, which patent application is incorporated by reference herein in its entirety.

[0005] This application relates to application Ser. No.______(attorney docket TRIRG-01002US0) filed on Oct. 30, 2001, entitled “Business Asset Management System Using Virtual Areas” and naming Cherisse M. Nicastro, Thomas A. Wucherer, Todd Nisbet, Anthony A. Marnell II, Anthony A. Marnell II, and Herman Spencer, Jr. as inventors, the application being incorporated herein by reference in its entirety.

CLAIM OF PRIORITY

[0006] This application claims the benefit of U.S. Provisional Application Serial No. 60/244,492, entitled “Intelligent CAD Objects Technology”, filed Oct. 30, 2000.

[0007] This application also claims the benefit of U.S. Provisional Application Serial No. 60/246,275, entitled “Intelligent CAD Objects”, filed Nov. 6, 2000.

[0008] This application claims the benefit of U.S. Provisional Application Serial No. 60/244,457, entitled “Item Data Integration System And Method”, filed Oct. 30, 2000.

[0009] This application also claims the benefit of U.S. Provisional Application Serial No. 60/246,276, entitled “Item Data Integration System And Method”, filed Nov. 6, 2000.

[0010] This application claims the benefit of U.S. Provisional Application Serial No. 60/244,493, entitled “Tracking Modules For Specified Objects”, filed Oct. 30, 2000.

[0011] This application claims the benefit of U.S. Provisional Application Serial No. 60/244,485, entitled “Module For Publishing Reports On Intelligent Object”, filed Oct. 30, 2000.

BACKGROUND OF THE INVENTION

[0012] 1. Field of the Invention

[0013] This application is directed to a data manipulation system for item specifications which associate computer generated graphical objects with non-graphical information.

[0014] 2. Description of the Related Art

[0015] Designing and building a project is a complicated and long process that requires the diverse services of many participants. The present invention will be described with reference to the design and/or building of a construction project, it being understood that the present invention may find application in other disciplines. These design and build participants may include architects, structural engineers, mechanical engineers, electrical engineers, interior designers, etc. who are responsible for creating the design drawings for the project. The participants may include purchasing agents who are responsible for purchasing components (e.g., furniture, fixtures and equipment, etc.) for integration into the project. Contractors and subcontractors are needed to actually build the project according to the design plans. Expeditors are often needed to receive and route purchased components to the construction site when needed by contractors and subcontractors. The project participants may further include accountants who are responsible for tracking the project's fiscal budget and paying for components purchased. A project manager may manage the participants, for example, by approving some or all changes to the project requested by the participants. Additionally, the project owner's participation is often needed to insure that the project progresses to his satisfaction from initial conception through completion.

[0016] A project typically involves many phases including design and build phases. These phases often overlap and each is highly dynamic. The design phase usually starts with one or more design professionals creating initial design drawings (e.g., prints) of the final project according to a developer's direction. The prints generally include perimeter lines representing specific areas (e.g., restaurants, rooms, lobbies, offices, etc.) within the project. The prints may also include graphical representations of components within the specified areas. For example, an architect may create prints of a restaurant area of a Hotel/Casino project. The restaurant prints may include graphical representations of furniture, fixtures, mechanical equipment, electrical equipment, etc. Examples include tables, windows, ovens, refrigerators, a backup power generator, etc. The project may start with many different sets of prints, all related to each other.

[0017] The initial prints or sets of prints, once completed, are provided to several other participants involved in the design and build process. For example, the restaurant prints example above may be provided to one or more structural engineers, mechanical engineers, electrical engineers and interior designers for their review, modification, and/or supplementation. These project participants may add further graphical representations of components to the initial set of prints. An interior designer of the project may wish to add graphical representations of additional components such as chairs or art work to a dinning room sub-area of the example restaurant blueprint above. A structural engineer may also seek to add graphical representations of components to the restaurant prints such as a platform on which the backup power generator (graphically represented in the print) rests. Often times different participants may receive different sets of prints which are related to each other.

[0018] When project participants (e.g., engineers, interior designers, etc.) receive initial prints of the project, the prints give very little information about the components graphically represented therein. Typically, the prints simply identify the components by title or type (e.g., “a table,” “a window,” “a backup power generator”). It is usually the responsibility of the engineers, interior designers, etc., to further define or specify the characteristics or attributes of components originally contained in the prints or components added to the prints. Some of this information may be entered onto the prints by the engineers or designers. However, it is more likely that a separate specification sheet is created by the engineers or designers for each component graphically represented on the print. Thus, an interior designer may create a separate specification sheet for each type of chair graphically represented in the restaurant print, wherein each specification sheet contains descriptive information (size, color, fabric, whether the fabric is treated, etc.) regarding a respective chair. Likewise, an electrical engineer may, for example, create a separate specification sheet for the graphically represented backup power generator describing, for example, the generator's size, power generation capacity, weight, etc.

[0019] Engineers and designers normally employ software applications for generating specification sheets for project components for which they have responsibility. These software applications generate electronic versions of specification sheets into which engineers or interior designers hand enter descriptive information of the corresponding component. Additionally, a reference to a graphical representation in a print is normally entered into each specification sheet so that each specification sheet can be associated with the respective component represented on the prints.

[0020] Existing electronic specification sheets are arranged as flat files, templates, or spreadsheets. Once the engineers or designers finish authoring their specification sheets, the specification sheets are provided to other project participants for their review, modification, supplementation, and/or approval. The specification sheets can be sent as e-mail attachments if the recipient has a computer system with appropriate software applications for accessing the attachments. Alternatively, copies of the specification sheet may be printed and distributed. One copy is normally saved by the author as the original specification sheet either in electronic version form, hard copy form, or both, for archiving purposes. It is noted that except for the reference mentioned above, the specification sheets, either in hard copy or e-mail attachment form, are distributed physically separated from corresponding prints.

[0021] One or more revisions to each of the specification sheets may occur throughout the design and build process. Indeed, revisions to a specification sheet can occur even after the corresponding component has been purchased. In this latter case, the purchased component, if it can be found, would normally be returned to its manufacturer and the purchase price refunded less restocking fees.

[0022] Specification sheet revisions may occur for a variety of reasons by a variety of project participants. For example, the project owner, upon receipt of a specification sheet for one type of the restaurant chairs, may desire the chair color to be different than originally specified by an interior designer, or the project owner may decide that the chair as originally specified would be too expensive. Another interior designer for the project, upon receipt of the same specification sheet for the restaurant chair, may notice that the originally specified fabric did not include a fire treatment in accordance with local fire codes. The structural engineer, upon receipt of the specification sheet for the backup power generator, may notice that his platform may not support the weight of the backup generator specified by the electrical engineer. At any rate, it is apparent that the specification sheets may be subjected to several iterative revisions.

[0023] Each reason for revision is communicated to the original author who, in response, revises the specification sheet in accordance thereto. Once revised, the specification sheet is redistributed to other project participants for further review, modification, supplementation, and/or approval. It is noted that the original specification sheet author usually has the responsibility for maintaining a history of all revisions to his specification sheet, and the responsibility that all necessary project participants have the most up to date version of his specification sheet.

[0024] Once a specification sheet for a component has been approved by all the necessary project participants, it may be submitted to the project's purchase agent. The purchase agent, in turn, may create a purchase order for the component using information from the specification sheet. The purchasing agent, like the project engineers and interior designers, may employ a computer system executing specialized software for generating an electronic purchase order sheet. Typically, the purchasing agent transfers specification sheet information by hand into the electronic purchase order sheet, and subsequently sends the purchase order sheet to manufacturers via hard copy or e-mail attachment. A copy of the purchase order is also typically sent to the project's accountant. This data may also be sent to the original specifier to update the specification sheet

[0025] As noted above, the design and build process involves a substantial number of participants. The complexity of large-scale construction projects often necessitates contributions from a corresponding large number of design and build participants. Indeed, the design and construction of modern Hotel/Casinos often require teams of architects, interior designers, purchasing agents, etc., whereas the design and construction of a stand alone retail store may only require the services of a single architect, interior designer, purchasing agent, etc. Nonetheless, each project participant requires collaboration and an exchange of information including design plans, specification sheets, etc., with one or more of the other project participants for the project to progress efficiently and effectively to completion.

[0026] Collaboration and the exchange of information, including prints and specification sheets, between design and build participants adds to the complexity of each project. Effective and efficient collaboration and information exchange is often the single most important key to bringing a project to fruition in a quality, timely and cost effective manner. However, as more fully exemplified above, collaboration and information exchange between participants, is typically a chaotic process.

SUMMARY OF THE INVENTION

[0027] These and other objects and advantages of the present invention will appear more clearly from the following description in which the preferred embodiment of the invention has been set forth in conjunction with the drawings.

[0028] The present invention relates to a system and method for linking computer aided design (CAD) elements with non-graphical information within a database. In one embodiment of the method the database receives and stores first CAD element data generated by a first computer system in data communication with the database. This first CAD element data represents a first CAD element displayable on a monitor of a computer system such as a CAD computer system. Thereafter, a link is created in the database between the stored first CAD element data and component specification stored in the database. This component specification may include non-graphical descriptive data which describes a component of a project. In one embodiment, the first computer system is coupled to the database via the Internet. In another embodiment, the component specifications includes at least one database object.

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The invention will be described with respect to the particular embodiments thereof. Other objects, features, and advantages of the invention will become apparent with reference to the specification and drawings in which:

[0030]FIG. 1 is a block diagram illustrating a networked system employing the present invention;

[0031]FIG. 2 is a block diagram illustrating the computer server system of FIG. 1 in greater detail;

[0032]FIG. 3 is a block diagram illustrating one of the CAD computer systems of FIG. 1 in greater detail;

[0033]FIG. 4A conceptionally illustrates the database of FIGS. 1 and 2 in greater detail;

[0034]FIG. 4B is a block diagram conceptionally illustrating a CAD element linked to a component specification in accordance with one embodiment of the present invention;

[0035]FIG. 5 conceptionally illustrates the Hotel/Casino project file of FIG. 4A in greater detail;

[0036]FIG. 6 graphically illustrates the exemplary Hotel/Casino project;

[0037]FIG. 7 conceptionally illustrates the Hotel/Casino Project Specifications file of FIG. 4A in greater detail;

[0038]FIG. 8 conceptionally illustrates the Interior Design Discipline file of FIG. 7 in greater detail;

[0039]FIG. 9 conceptionally illustrates the Furniture classification file of FIG. 8 in greater detail;

[0040]FIG. 10 conceptionally illustrates the Public Area Furnishings group file of FIG. 9 in greater detail;

[0041]FIG. 11 illustrates a CAD drawing of an example area of the exemplary Hotel/Casino project;

[0042]FIG. 12A is a flowchart illustrating operational aspects of a file creation procedure;

[0043]FIG. 12B graphically illustrates one embodiment of an Add File interface displayable on a monitor of one of the CAD systems of FIGS. 1, 2 or 3;

[0044]FIG. 13A is a flowchart illustrating operational aspects of adding a graphical representation to an opened area file;

[0045]FIG. 13B graphically illustrates one embodiment of an Area Attributes interface displayable on a monitor of one of the CAD systems of FIGS. 1, 2 or 3;

[0046]FIG. 14A is a flowchart illustrating operational aspects of dividing an area perimeter into one or more sub-areas;

[0047]FIG. 15A is a flowchart illustrating operational aspects of one embodiment for linking a new or preexisting CAD element to one or more component specifications in order to create an intelligent CAD object within the database shown in FIGS. 1 or 2;

[0048]FIG. 15B graphically illustrates one embodiment of a CAD Object Manager interface displayable on a monitor of one of the CAD systems of FIGS. 1, 2 or 3.

DETAILED DESCRIPTION

[0049] The present invention will be described with reference to the design and build of a large or complicated building construction project. More particularly, the present invention will described with reference to the design and build of a Hotel/Casino construction project. The present invention should not be limited thereto. Rather, the present invention has application to the design and/or construction of any large and/or complex project that involves the integration of many distinct components and/or disciplines. For example, the present invention may find application in the design and build of a commercial airplane.

[0050]FIG. 1 shows in block diagram form a system employing the present invention. System 10 includes several CAD systems 12-18 in data communication with a server computer system 20. Exemplary CAD systems include AUTOCAD by AUTODESK, INC. and TRIFORMA by BENTLEY SYSTEMS, INC. Server computer system, in turn, is in data communication with a central database 22. Central database 22 may take form in a relational, object oriented or distributed database. CAD systems 12-18 may be in Internet or intranet communication with server system 20.

[0051]FIG. 2 shows in block diagram form, a more detailed view of system 10. In FIG. 2, sever computer system 20 is shown to include a network interface 24 in data communication with CAD systems 12-18. Additionally, computer system 20 includes a database access/update processing module 26 in data communication with central database 22. Module 26 may perform several functions including those described in U.S. patent application Ser. No. 09/519,935, filed Mar. 7, 2000, entitled Integrated Business System for the Design, Execution, and Management of Projects and which is incorporated herein in its entirety. Processing module 26 and network interface 24 communicate with each other via database update messages 30 and database information messages 32. Again, it is noted, that CAD systems 12-18 may be in either Internet or intranet communication with server computer system 20.

[0052]FIG. 3 shows in block diagram form, a more detailed description of CAD system 12 shown in FIGS. 1 and 2. CAD systems 14-18 (not shown in FIG. 3) may take similar form. CAD system 12 includes a CAD module 34 in data communication with a CAD interface 36 and memory 40. Additionally, CAD system 12 may include a web browser 42 in data communication with CAD interface 36. The web browser 42, facilitates Internet communication with server computer system 20 (not shown in FIG. 3). For the purposes of explanation, the present invention will be described below with reference to CAD system 12 in Internet communication with server system 20

[0053] Communication link 44 between CAD system 12 and server system 20 facilitates data signal transmission therebetween. The data communication link between CAD system 12 and server system 20 may include a data signal transmission medium which further includes a data communication network, a communications satellite, one or more data signal routers, signaling equipment of an Internet Service Provider (ISP), and/or one or more switches such as an asynchronous transfer mode (ATM) switch.

[0054] The term “server system” or “CAD system” as used herein generally describes the hardware and software components that in combination allow the execution of computer programs. These computer programs may be implemented in software, hardware, or combination of software and hardware. The hardware generally includes one or more processors and a memory medium for storing computer program instructions executable by one or more processors. As used herein, the term “memory medium” includes any installation medium, e.g., a CD-ROM or floppy disks; a volatile computer system memory such as DRAM, SRAM, etc.; or a nonvolatile memory such as an optical storage or a hard drive. It is to be understood that CAD module 34, CAD interface 36, and web browser 42 shown in FIG. 3 may take form in one or more microprocessors executing instructions stored in a memory medium in accordance with an operating system.

[0055]FIG. 4A shows, in block diagram form, database access/update processing module 26 in data communication with database 22. In one embodiment, database 22 includes project files 50-54, project component specification files 60-64, and library files 72-78. Each file may further contain a hierarchy of files more fully described below. Project files 50-54 correspond to respective design and build projects. Specification files 60-64 correspond to project files 50-54, respectively. The term files may be referred to as data units or structures in memory that store related data.

[0056] To illustrate features of the present invention, project file 50 will be described with reference to the exemplary Hotel/Casino construction project. FIG. 5 illustrates one embodiment of the Hotel/Casino project file 50 shown in FIG. 4A. FIG. 6 corresponds to FIG. 5 and conceptionally illustrates the exemplary Hotel/Casino project to be designed and built. FIG. 5 shows subproject files, designated Hotel and Casino, contained in the Hotel/Casino project file. The Hotel and Casino subproject files correspond to the Hotel and Casino portions, respectively, in FIG. 6. The level files of FIG. 5, designated Floors 1-4, are contained in the Hotel subproject file and correspond to Floors 1-4, respectively, in FIG. 6. Area files designated HVAC, Generator, and Elevator Equipment Rooms, are contained in the Floor 4 level file and correspond to respective portions of Floor 4 in FIG. 6. The remaining area files (e.g., Guest Suites, Lobby, and Restaurant files) in FIG. 5 correspond to representations (not shown) in Floors 1-3 of FIG. 6.

[0057] As will be more fully described below, each of the area files in FIG. 5 may contain a CAD system generated area perimeter having one or more CAD system generated sub-areas and/or one or more CAD system generated CAD elements. Each of the CAD elements may graphically represent a construction project component. In one embodiment, components include any physical element or item added to (or to be added to) the exemplary construction project such as HVAC systems and/or sub-elements thereof, electrical distribution systems and/or sub-elements thereof, plumbing systems and/or sub-elements thereof, structural systems and/or sub-elements thereof, doors and/or sub-elements thereof, windows and/or sub-elements thereof, molding and/or sub-elements thereof, chairs and/or sub-elements thereof, fabrics and/or sub-elements thereof, etc.

[0058] Specification files 60-64 of FIG. 4A correspond to files 50-54, respectively. Files 60-64 may contain a hierarchy of files that, in turn, contain component specifications. Each component specification may take form in a database object (or several database objects which are linked together) stored in the database 22. Fundamentals of Database Systems, Elmasri Narathe (1989) describes database objects and database links. A database object is well known in the object oriented programming arts. Where the component specifications take form in database objects, several of the objects in the database may be instances of the same class of objects each of which contains different values for their instance variables.

[0059] Each component specification may include information (or variable values) describing physical and/or functional characteristics of at least one corresponding project building component. Each component specification may further include one or more database links to additional component specifications (i.e., sub-specifications) stored in the specification file 60. Each component specification may further include information related to a corresponding component other than its physical or functional attributes. For example, each component specification may include a design status (e.g., published and ready to be purchased) for the component, a predetermined budget for the component, the quantity of the component to be purchased, the number of CAD elements (more fully described below) representing the component that are linked to the specification, purchase price of the component, whether the component has been received from a manufacturer, etc.

[0060]FIG. 7 illustrates one embodiment of Hotel/Casino specification file 60 corresponding to the exemplary Hotel/Casino project. File 60, as shown n FIG. 7, may include several discipline files each including a hierarchy of files, the lowest levels of which contain component specifications and/or component specifications linked to other component specifications. In FIG. 7, file 60 includes: a Mechanical discipline file for storing specifications of mechanical components; an Electrical discipline file for storing specifications of electrical components; a Structural discipline file for storing specifications of structural components, and; an Interior Design discipline file for storing specifications of interior design components (e.g., furniture, fixtures, etc.).

[0061] Each of the discipline files may contain classifications of different objects. For example, as shown in FIG. 8, the Interior Design discipline file contains several classifications of objects including those designated Furniture, Fabric, Finishes, etc. The classification of objects may include groups of objects. For example, with reference to FIG. 9, the classification designated Furniture may include groups designated Guest Room Furnishings and Public Area Furnishings; the classification designated Fabric may include groups designated Fabrics, Fabric Treatment, Vinyl, and Leather, and; the classification designated Finishes may include groups designated Paint, Stain, and Wood Flooring. It is noted that each component specification in a classification may be assigned a common attribute value describing a functional or physical characteristic. For example, each component specification in the Public Area Furnishings group may have an attribute value indicating that all components defined by specifications of this group are to be made using the same wood stain color or are to be built by the same manufacturer.

[0062] A group of objects may contain component object specifications. More particularly, FIG. 10 shows the Public Area Furnishings group file containing several component object specifications including those designated Hotel Restaurant Dinning Area Chair, Hotel Restaurant Dinning Area Table, Hotel Restaurant Lounge Area Chair, Hotel Restaurant Lounge Area Table, Hotel Restaurant Door 1, Casino Dinning Area Chair, Casino Restaurant Dinning Area Table, Casino Restaurant Lounge Area Chair, Casino Restaurant Lounge Area Table, Casino Area Chair 1, Casino Area Chair 2, Hotel Lobby Chair, and Hotel Lobby Table. Each of these component object specifications is database linked to or can be database linked to a CAD element contained within one or more CAD system area perimeters and/or sub-area perimeters of area files shown in FIG. 5. For example, the Hotel Restaurant Dinning Area Chair component specification is linked to or can be linked to one or all of CAD elements representing dinning room chairs in the hotel restaurant. It should be noted that, in the alternative, the group files of FIG. 9 may contain further files which, in turn, contain component specifications. For example, the Public Room Furnishings group file may contain files that correspond to respective public areas of the exemplary Hotel/Casino project. In this alternative embodiment, the Public Area Furnishings group file of FIG. 9 may contain: a Hotel Restaurant Area file that contains the component specifications designated Hotel Restaurant Dinning Area Chair, Hotel Restaurant Dinning Area Table, Hotel Restaurant Lounge Area Chair, Hotel Restaurant Lounge Area Table, Hotel Restaurant Door 1; a Casino Restaurant Area file that contains the component specifications designated Casino Restaurant Dinning Area Chair, Casino Restaurant Dinning Area Table, Casino Restaurant Lounge Area Chair, Casino Restaurant Lounge Area Table; a Casino Area file that contains the component specifications designated Casino Area Chair 1, Casino Area Chair 2, and; a Hotel Lobby Area file that contains the Hotel Lobby Chair, and Hotel Lobby Table. It is noted the component object specifications may be linked to each other. For example, a chair object specification may be linked to a fabric object specification and indicate that the chair represented by the chair object specification requires 3 yards of the fabric represented by the fabric object specification.

[0063] Files 72-78 of FIG. 4A may contain a hierarchy of files that contain predefined CAD elements, or predefined CAD elements linked to predefined component specifications. A user operating through CAD system 12 may copy a predefined CAD element from one of the Files 70-76 into one of the files 50-54. Thereafter, the user may link the copied standard CAD element within the database 22 to a component specification contained within one of the files 60-64. FIG. 4B illustrates a CAD element 80 within database 22 that is linked via database link 84 -to a component specification 82 also stored in database 22. As noted above, component specification 82 may consist of a database object or several linked database objects. Individual information components of component specification 82 may reside as entries in separate tables or records that are logically linked together in database 22. However, for purposes of illustration, component specification 82 is viewed as a single entity (e.g. database object) stored in database 22.

[0064] A user, such as an architect, operating through CAD module 34 of CAD system 12, may create graphical representations of construction project areas. Project areas may be graphically represented by CAD system generated perimeter shapes. Sub-areas may also be graphically represented by CAD system generated perimeter shapes contained in the area perimeter shapes. Additionally, components (e.g., chairs, tables, windows, doors, backup power generators, etc.) may be graphically represented by CAD system generated CAD elements. A graphical representation of a component will often be referred to as a CAD element, a graphical representation of an area will often be referred to as an area perimeter shape, and a graphical representation of a sub-area will often be referred to as an sub-area perimeter shape.

[0065]FIG. 11 illustrates a graphical representation 90 of the Hotel Restaurant (see FIG. 6) of the exemplary Hotel/Casino project. The graphical representation 90 may be stored in the Restaurant area file of FIG. 5. This graphical representation may have been created by one or more users of CAD systems 12-18 via CAD module 34, and can be displayed on a monitor (not shown in FIG. 3) of any of the CAD systems 12-18 after it has been stored in database 22. In other words, once graphical representation 90 is stored in database 22, it can be accessed by any of the CAD systems 12-18 so that it can be subsequently modified or supplemented. Modification may include: changing the perimeter shapes or CAD elements; deleting perimeter shapes or CAD elements, or; moving CAD element positions within an area or sub-area perimeter shape. Supplementation may include adding sub-area perimeter shapes and/or CAD elements

[0066] Restaurant representation includes an area 90 defined by an area perimeter shape 92, sub-areas 94, 96, and 98 defined by respective sub-area perimeter shapes, and several CAD elements 100-114. CAD elements 100 and 108 are contained in sub-areas 96 and 98, respectively, and may represent dinning area and lounge area tables, respectively. CAD elements 102-106 are contained in sub-area 96 and may represent dinning area chairs. CAD element 110 is contained in sub-area 98 and may represent a lounge area chair. CAD element 112 may represent a door. Lastly, CAD element 114 is contained in sub-area 94 and may represent an electrical power generator. It is noted that restaurant representation 90 includes several CAD elements without reference numbers. The perimeter shapes of the area 92 and sub-areas 94-96 may be individually created by the CAD system user using CAD module 34. The CAD elements 100-114 may also be individually created using CAD module 34. Alternatively, one or more CAD elements 100-114 may be predefined CAD elements copied from a library of predefined CAD elements stored in local memory 40 or in database 22.

[0067] The user, operating through CAD system 12, may create and store an area representation in an area file within database 22. A user may link CAD elements of a stored area representation to one or more component specifications stored in database 22. For example, as noted above, the user, operating through CAD system 12, may create and store representation 90 in the Restaurant area file of FIG. 5, and link any or all of CAD elements 100-114 to one or more component specifications stored in the specification file 60. For example, CAD elements 102-106 may be linked to the Hotel Restaurant Dinning Area Chair component specification of FIG. 10. Further, the user operating through CAD system 12, or another user operating through CAD system 14, may modify or supplement representation 90 stored in the Restaurant area file by, for example, modifying or adding to the information of a component specification linked to one of the CAD elements 100-114, modifying or adding a new CAD element to one of the sub-areas 94-98, adding CAD elements representing sub-components to one of the CAD elements 100-114, or linking an existing CAD element or a newly added CAD element to one or more specifications in file 60. Adding a new CAD element may include copying a CAD element from one of the libraries 70-76 into the representation stored in the Restaurant area file. When CAD elements stored in file 50 are database linked to one more component specifications stored in project specifications file 60, the linked CAD elements may be referred to as intelligent CAD objects.

[0068] As described above, the Restaurant area file of FIG. 5 may contain graphical data representing the restaurant 90 of FIG. 11. Indeed, each of the area files shown in FIG. 5 is designed to hold a graphical representation having an area, one or more sub-areas, and/or one or more CAD elements, similar to that shown in FIG. 11. Each of the graphical representations stored in the area files may be created by several users operating through different CAD systems 12-18, respectively. Thus, restaurant 90 of FIG. 11 may have been created by two users using respective CAD systems 12 and 14 operating via database 22.

[0069] With reference to FIG. 5, each file therein may be created within database 22 by a user operating any of the CAD systems 12-18 shown in FIG. 1. Each file may be identified by a special non display file ID associated with the file. When a file is opened a corresponding entry is created in database 22. Each file has corresponding readable information which may include a name of the file (e.g., Restaurant), a name or number of the project to which the file belongs, the level (e.g., area, level, sub-project, etc.) of the new file within the hierarchy, and the name and level of the parent file within the hierarchy.

[0070] Any of the CAD systems 12-18 may create a new file, including an area file, within the hierarchy shown in FIG. 5. It is noted that the files, including the area files, are stored in the database. Once created in the database 22, any CAD system 12-18 may open a file, including an area file. Any area file within the database 22 may contain graphical representations including area perimeter shapes, sub-area perimeter shapes, and/or CAD elements.

[0071] When a user operating one of the CAD systems 12-18, seeks to create a new file within the hierarchy shown in FIG. 5, the CAD system, operating in conjunction with the server computer system 20, initiates a file creation routine. FIG. 12A is a flowchart illustrating operational aspects of the file creation procedure. Initially, as shown in FIG. 12A, an Add File user interface (UI) is presented on a monitor of the CAD system. FIG. 12B illustrates one embodiment of the Add File UI. Once the Add File UI is displayed, a user of the CAD system enters relevant information into fields thereof including, for example, the project number or name, the type of file being created (area, level, etc.) the name of the new file, the parent file type, and/or the parent file name, as shown in FIG. 12A. In response, a database entry for the new file is created. Additionally, a file ID is created and assigned for the new file as shown.

[0072] As noted, the area files of FIG. 5 represent the lowest file level within the file hierarchy and are designed to contain graphical representations of project areas such as shown in FIG. 11. With an area file open, a user operating through one of the CAD systems 12-18 may add a graphical representation (i.e., an area shape perimeter) of an area. FIG. 13A illustrates operational aspects of adding a graphical representation to an opened area file. The user, operating via CAD module, creates a perimeter shape representing an area. This area representation may eventually contain sub-area perimeter shapes and/or CAD elements. Once the area perimeter is created, the user may open an Area Attributes UI as shown in FIG. 13B. This Area Attributes UI contains one or more fields into which values may be entered by the user. In particular, the user may enter the use of the newly created area into the corresponding field of the Area Attributes UI. The use may be selected from a drop-down menu. Other fields of the Area Attributes UI may be prepopulated. For example, a name field may be prepopulated with the name of the currently opened area file. A gross square feet field may be prepopulated with a value calculated by the CAD system from the area perimeter shape. After values have been entered into one or more fields of the Area Attributes UI, the newly created area perimeter is stored within the opened area file.

[0073] Once an area perimeter is created and stored in an area file, the area perimeter may be divided into sub-areas using a procedure similar to creating and storing area perimeters within area files. FIG. 14A illustrates operational aspects of dividing an area perimeter into one or more sub-areas. More particularly, as shown in FIG. 14A, an area perimeter of an area file may be divided by creating a sub-area perimeter shapes within the area perimeter shape. Thereafter, an Add Sub-Area Attributes UI may be opened. FIG. 14B illustrates one embodiment of the Sub-Area Attributes UI. Once the UI is opened, values are entered into one or more fields thereof. Additionally, one or more of the UI fields may be prepopulated with values. Once data is entered in the fields, the newly created sub-area perimeter shape is stored in the opened area file.

[0074] Once an area and/or sub-area perimeter is created and stored within an area file, a user (via CAD system 12) can create and enter a CAD element into the area and/or sub-area perimeter. The user may subsequently link the newly entered CAD element to one or more component specifications as will be more fully described below. This is true regardless of whether the user created the area and/or sub-area perimeter, or whether another user (via CAD system 14) created the area and/or sub-area perimeter. A user (via CAD system 12) can also link one or more component specifications to preexisting CAD elements in an area and/or sub-area perimeter. This is true regardless of whether the user created the preexisting CAD element, or whether another user (via CAD system 14) created the preexisting CAD element. Further, a user (via CAD system 12) can modify or supplement any component specification linked to a CAD element in an area and/or sub-area perimeter. This is true regardless of whether the user linked the component specification to the CAD element, or whether another user (via CAD system 14) linked the component specification to the CAD element. The component specification or specifications, to which a CAD element is linked, may preexist in the specification file 60. A user operating via any of the CAD systems 12-18 may create and subsequently store a new component specification in file 60 of the database 22. A user operating via any of the CAD systems 12-18, may modify or supplement a component specification in database 22 regardless of whether the component specification is linked to a CAD element. Lastly, it is noted that a user operating through a non-CAD system, e.g., a desktop or laptop computer system (not shown in the Figures) in data communication with database 22 via server system 20, may create and store a new component specification in file 60 or modify or supplement a preexisting component specification regardless of whether the preexisting component specification is linked to a CAD element.

[0075]FIG. 15A illustrates operational aspects of one embodiment for linking a new or preexisting CAD element to one or more component specifications in order to create an intelligent CAD object within the database 22. Intelligent CAD objects are defined to be CAD elements stored in the database 22 and linked to one or more component specifications also stored within the database 22. Other embodiments for linking CAD elements to one or more component specifications are contemplated.

[0076] The process shown in FIG. 15A begins with a user opening the CAD Object Manager UI on a monitor of one of the CAD systems 12-18. FIG. 15B illustrates one embodiment of the CAD Object Manager UI. The CAD Object Manager can be used to link a newly created or preexisting CAD element to one or more component specifications. A user operating via a CAD system may open the CAD Object Manager while an area file is open and an area or sub-area perimeter shape therein is displayed on the CAD system's monitor.

[0077] Once the CAD Object manager is opened, the user can select a newly created or preexisting displayed CAD element using the Select button. As an example, with reference to FIG. 11, newly created or preexisting CAD element 102 representing the Hotel Restaurant Dinning Area Chair may be selected. It is noted that the first two steps in FIG. 15A could be reversed.

[0078] With CAD element 102 is selected, the user may enter a group code or a group name into the Group field. It is noted that the CAD Object Manager may include a drop-down menu (not shown) which includes all available group codes or names. These drop-down menu group codes or names may correspond to the group files, respectively, of FIG. 9. In the illustrated example, the group code PAF corresponding to the Public Area Furnishings group file of FIG. 9 may be selected from the drop-down menu and entered into the Group field.

[0079] Once the group code is entered, the user may enter a component specification code or name a into the Specification field of the CAD Object Manager. It is noted that the CAD Object Manager may include a drop-down menu (not shown) which may include all component specification codes or names that correspond to the group code or name entered in the Group field. The drop-down menu component specification codes or names may correspond to the component specifications, respectively, of the group corresponding to the group code entered into the Group field. Thus, with PAF entered into the Group field, the drop-down menu may contain component specification codes that correspond to the component specifications, respectively, in the Public Area Furnishings group file of FIG. 10. A component specification code may be selected from the drop-down menu and entered into the Specification field. In the illustrated example, the component specification code HRDAC corresponding to the Hotel Restaurant Dinning Area Chair component specification is selected and entered.

[0080] With the component specification code entered into the Specification field, the user may activate the Apply button which causes the selected CAD element to be database linked to the component specification corresponding to the entered component specification code or name thereby creating an intelligent CAD object.

[0081] The user may activate the Details button to expand the CAD Object Manager and display information contained within the selected and linked component specification. For example, the expanded CAD Object Manager may display an Attributes tab of the selected and linked component specification which contains one or more fields each of which contains information describing a physical, functional or other attribute of the related component (e.g., the dinning room chair). In the illustrated example, the Attributes tab includes Height, Width, and Depth fields for displaying dimensions of the chair defined by the exemplary Hotel Restaurant Dinning Area Chair component specification, or a Color field for displaying a wood stain color of the chair defined by the exemplary Hotel Restaurant Dinning Area Chair component specification. The expanded CAD Object Manager may display a Status tab which contains one or more fields (not shown) each indicating a status such as whether the component specification has been approved by necessary design participants of the project, whether the related component has been purchased, or whether the related component has been delivered to the project construction site. The Quantities tab may include a field (not shown) indicating the number of CAD elements linked to the instant component specification or a field (not shown) indicating a total number of the related component to be purchased. The Costs tab of the selected component specification may include a separate field (not shown) indicating the original or revised budget cost for the related component or a field indicating the actual cost of the related component. The information in a field of the tabs is modifiable by the user. For example, the user may change the stain color in the illustrated Color field. Further, a user may add a new field to a tab of a component specification. However, any given component specification may be linked to several CAD elements. A change to a component specification, whether adding a new field or changing information in a preexisting field, may simultaneously modify several intelligent CAD objects stored in the database 22.

[0082] The expanded CAD Object Manager also displays a tree in window 150 that identifies component specifications linked to the component specification identified in the Specification field. In the illustrated example, window 150 shows that the exemplary Hotel Restaurant Dinning Area Chair component specification, identified as HRDAC, includes links to other component specifications designated Fabric 1 and Scotchguard which may relate to fabric and fabric treatment sub-components, respectively, of the exemplary dinning room chair. Clicking on or selecting any of these linked component specifications causes the Attributes, Status, Quantities, and Costs tabs to be updated with fields of information from the linked component specification. A user, initiating the AddSubSpec button, can link the component specification identified in the Specification field to another component specification. For example, the user can add a component specification relating to a particular wood stain of the Stain group file. The Remove button may be initiated by the user to remove a component specification linked to the component specification identified in the Specification field.

[0083] A user may create a new component specification for a CAD element. The user may initiate the New Spec button of the CAD Object Manager to clear all the information in all the fields and window 150. Thereafter, the user may select and enter a group code from the group code drop-down menu into the Group field. The selected group code will designate one of the group files in file 60 into which the new component specification is to be stored. The user may then enter a new component specification name or code into the Specification field to identify the new component specification. Lastly, the user can enter information into the existing fields of the tabs or newly created fields of the tabs, or add links to other component specifications using the AddSubSpec button. After the newly created component specification is complete, the user can activate the Apply button and link a selected CAD element. The newly created component specification also will be stored in the appropriate group file of file 60 and will be subsequently available to link to CAD elements and/or modification.

[0084] A user operating through any of the CAD systems 12-18 may access an area file of database 22 via the Internet and display the graphics stored therein including any CAD elements linked to one or more component specifications. Thereafter, the user may view and alter the information of a component specification linked to a CAD element. For example, a user may open the CAD Object Manager and select a displayed CAD element of the accessed area file. In response, the CAD Object Manager will display some or all of the contents of the component specification linked to the selected element including values stored in the fields of the tabs of the expanded view. Thereafter, the user may modify or supplement the information of the linked component specification in a manner described above.

[0085] Although the present invention has been described in connection with several embodiments, the invention is not intended to be limited to the specific forms set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents as can be reasonably included with in the spirit and scope of the invention as defined by the appended claims.

[0086] The foregoing detailed description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto. 

What is claimed is:
 1. A method comprising: adding a first graphical element to an image displayed on a monitor of a first computer system; displaying a graphical user interface on the monitor of the first computer system, wherein the graphical user interface is configured for receiving non-graphical information; entering first non-graphical information into the graphical user interface; the first computer system transmitting first element data to a database for storage therein via internet communication, wherein the first element data represents the first graphical element; the first computer system transmitting first non-graphical information data to the database for storage therein via internet communication, wherein the first non-graphical information data represents the first non-graphical information entered into the graphical user interface.
 2. The method of claim 1 wherein the first computer system comprises a CAD computer system and wherein the first graphical element comprises a first CAD graphical element.
 3. The method of claim 1 wherein the graphical user interface comprises a plurality of fields, wherein the first non-graphical information comprises a plurality of non-graphical information components, and wherein entering first non-graphical information into the graphical user interface comprises the plurality of non-graphical information components into the plurality of fields, respectively, of the graphical user interface.
 4. The method of claim 1 further comprising: the first computer system receiving, via internet communication, specification list data, wherein specification list data represents a list of specifications displayable on the monitor of the first computer system, wherein each specification of the list represents a data unit stored in the database in data communication with the first computer system, wherein each data unit contains data representing non-graphical information; the first computer system displaying the list of specifications; adding a second graphical element to the image displayed on the monitor of the first computer system; the first computer system transmitting second graphical element data to the database for storage therein via internet communication, wherein the second graphical element data represents the second graphical element; the first computer system transmitting link data to the database via internet communication, wherein the link data indicates that one of the data units stored in the database is to be linked within the database to the second graphical element data after the second graphical element data is stored in the database.
 5. A method comprising: a first computer system receiving, via internet communication, specification list data, wherein specification list data represents a list of specifications displayable on a monitor of the first computer system, wherein each specification of the list represents a data unit stored in a database in internet communication with the first computer system, wherein each data unit contains data representing non-graphical information; the first computer system displaying the list of specifications; adding a graphical element to an image displayed on the monitor of the first computer system; the first computer system transmitting graphical element data to the database for storage therein via internet communication, wherein the graphical element data represents the graphical element; the first computer system transmitting link data to the database via internet communication, wherein the link data indicates that one of the data units stored in the database is to be linked within the database to the graphical element data after the graphical element data is stored in the database.
 6. A method comprising: a computer system receiving a first graphical element data via internet communication from a first computer system, wherein the first element data represents a first graphical element which is displayable on a monitor of the first computer system; the computer system storing the first graphical element data into a database in data communication with the computer system; creating a link within the database between the first graphical element data and a first non-graphical data unit in the database after the first graphical element data is stored in the database, wherein the first non-graphical data unit stores first non-graphical information data.
 7. The method of claim 6 further comprising: the computer system transmitting the first graphical element data to a second computer system via internet communication; the computer system transmitting first non-graphical data to the second computer system via internet communication.
 8. The method of claim 6 further comprising: a computer system receiving second graphical element data via internet communication from a second computer system, wherein the second element data represents a second graphical element which is displayable on a monitor of the second computer system; the computer system storing the second graphical element data into the database; creating a link within the database between the second graphical element data and the first data unit after the second graphical element data is stored in the database..
 9. The method of claim 6 further comprising the computer system sending, via internet communication, list data to the first computer system, wherein the list data represents a list of non-graphical data units in the database, wherein each non-graphical data unit stores non-graphical information data, wherein the list of non-graphical data units includes the first non-graphical data unit.
 10. The method of claim 6 further comprising: the computer system receiving additional non-graphical information data from a second computer system via internet communication; the computer system storing the additional non-graphical information data in the first non-graphical data unit.
 11. The method of claim 6 further comprising the computer system storing the first graphical element data in a first graphical data unit in the database, wherein the first graphical data unit stores additional graphical element data.
 12. The method of claim 6 wherein the first non-graphical information data represents information displayable in fields of an interface, wherein the interface is displayable on a monitor of the first computer system.
 13. The method of claim 6 wherein the first non-graphical data unit is linked within the database to a second non-graphical data unit in the database.
 14. A method comprising: a computer system receiving first non-graphical information data via internet communication from a first computer system, wherein the first non-graphical information data represents first non-graphical information; the computer system storing the first non-graphical information data in a first non-graphical data unit in a database, wherein the database is in data communication with the computer system, and wherein the first non-graphical data unit is linked within the database to first graphical element data stored in the database.
 15. The method of claim 12 further comprising: a computer system receiving first non-graphical information data via internet communication from a first computer system, wherein the first non-graphical information data represents first non-graphical information; the computer system storing the first non-graphical information data in a first non-graphical data unit in a database, wherein the database is in data communication with the computer system, and wherein the first non-graphical data unit is linked within the database to first graphical element data stored in the database.
 16. The method of claim 6 further comprising the computer system transmitting data representing the first component specification to a second computer system via internet communication, wherein the data representing the first component specification comprises data representing non-graphical information, wherein the data representing the first component specification is transmitted after the database link is created.
 17. The method of claim 16 further comprising the computer system receiving modifying the non-graphical information displayed in the fields of the interface.
 18. A method comprising: a database receiving and storing first CAD element data generated by a first computer system in data communication with the database, wherein the first CAD element data represents a first CAD element displayable on a monitor; creating a link in the database between the stored first CAD element data and one of a plurality of component specifications stored in the database, wherein each of the plurality of component specifications comprises non-graphical descriptive data.
 19. The method of claim 18 wherein the first computer system is coupled to the database via the Internet.
 20. A memory for storing instructions executable by a first computer system to enable a method, the method comprising: adding a first graphical element to an image displayed on a monitor of the first computer system; the first computer system displaying a graphical user interface on a monitor of the first computer system, wherein the graphical user interface is configured for receiving non-graphical information; entering first non-graphical information into the graphical user interface; the first computer system transmitting first element data to a database for storage therein via internet communication, wherein the first element data represents the first graphical element; the first computer system transmitting first non-graphical information data to the database for storage therein via internet communication, wherein the first non-graphical information data represents the first non-graphical information entered into the graphical user interface.
 21. The memory of claim 20 wherein the first computer system comprises a CAD computer system and wherein the first graphical element comprises a first CAD graphical element.
 22. The memory of claim 20 wherein the graphical user interface comprises a plurality of fields, wherein the first non-graphical information comprises a plurality of non-graphical information components, and wherein entering first non-graphical information into the graphical user interface comprises the plurality of non-graphical information components into the plurality of fields, respectively, of the graphical user interface.
 23. The memory of claim 20 wherein the method further comprises: the first computer system receiving, via internet communication, specification list data, wherein specification list data represents a list of specifications displayable on the monitor of the first computer system, wherein each specification of the list represents a data unit stored in the database in data communication with the first computer system, wherein each data unit contains data representing non-graphical information; the first computer system displaying the list of specifications; adding a second graphical element to the image displayed on the monitor of the first computer system; the first computer system transmitting second graphical element data to the database for storage therein via internet communication, wherein the second graphical element data represents the second graphical element; the first computer system transmitting link data to the database via internet communication, wherein the link data indicates that one of the data units stored in the database is to be linked within the database to the second graphical element data after the second graphical element data is stored in the database.
 24. A memory for storing instructions executable by a first computer system to enable a method, the method comprising: the first computer system receiving, via internet communication, specification list data, wherein specification list data represents a list of specifications displayable on a monitor of the first computer system, wherein each specification of the list represents a data unit stored in a database in internet communication with the first computer system, wherein each data unit contains data representing non-graphical information; the first computer system displaying the list of specifications; adding a graphical element to an image displayed on the monitor of the first computer system; the first computer system transmitting graphical element data to the database for storage therein via internet communication, wherein the graphical element data represents the graphical element; the first computer system transmitting link data to the database via internet communication, wherein the link data indicates that one of the data units stored in the database is to be linked within the database to the graphical element data after the graphical element data is stored in the database.
 25. A memory for storing instructions executable by a computer system to enable a method, the method comprising: a computer system receiving a first graphical element data via internet communication from a first computer system, wherein the first element data represents a first graphical element which is displayable on a monitor of the first computer system; the computer system storing the first graphical element data into a database in data communication with the computer system; creating a link within the database between the first graphical element data and a first non-graphical data unit in the database after the first graphical element data is stored in the database, wherein the first non-graphical data unit stores first non-graphical information data.
 26. A memory for storing instructions executable by a computer system to enable a method, the method comprising: the database receiving and storing second CAD element data generated by a second computer system in data communication with the database, wherein the second CAD element data represents a second CAD element displayable on the monitor; creating a link in the database between the stored second CAD element data and the one of the plurality of component specifications stored in the database. 